;(async function () {
  // 1. 引入mongoose
  const mongoose = require('mongoose')

  // 2. 连接mongodb
  // 如果promise失败,就会抛出来一个错误,我们会使用trycatch捕获这个错误
  try {
    await mongoose.connect('mongodb://localhost:27017/web230202')
    console.log('数据库连接成功了')
  } catch (error) {
    console.log('数据库连接失败', error)
  }

  // 3. 创建schema
  const schema = new mongoose.Schema({
    goodName: {
      required: true, //当前属性必填
      type: String, // 商品名称必须是字符串
    },
    goodNum: {
      type: Number, // 商品名称必须是字符串
      default: 1,
    },
  })

  // 4. 创建model对象
  const model = mongoose.model('goods', schema)

  //   5. 查询goods集合中的所有数据
  // find方法不写回调返回值是promise.promise成功之后value的值就是查找到的数据
  try {
    const result = await model.find()
    console.log(result)
  } catch (error) {
    console.log('查询数据失败', error)
  }
})()
